home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / doom / quake2.zip / QSPY302.ZIP / QSPY.TXT < prev    next >
Text File  |  1996-09-09  |  17KB  |  404 lines

  1.                                Quake Spy 3.02, (c) 1996
  2.                                ========================
  3.  
  4. OFFICIAL HOME PAGE:
  5. -------------------
  6.  
  7.         Quake Spy now has an official home page.  You can get up to date
  8.         information about Quake Spy now by visiting:
  9.  
  10.         http://www.panix.com/~sheaslip/qspy/
  11.  
  12.         BIG thanks go out to Stephen Heaslip of blue's Quake Rag
  13.         (http://www.panix.com/~sheaslip/quake/ - your best source for
  14.         up to date Quake news) for the space and administration of this site.
  15.  
  16.         Thanks for the QSpy logo go to Devicer (devicer@earthlink.net).
  17.  
  18. BIRTH:
  19. ------
  20.  
  21.     This program was born out of a desire to quickly find a playable
  22.     Quake server.  I must have spent a week looking at the finger output
  23.     from Servers@ns.stomped.com and then manually pinging those IP
  24.     addresses looking for a server with a decent response time.  While
  25.     this accomplished my initial goal, it was hardly an acceptable
  26.     solution.  Hence, the birth of Quake Spy!
  27.  
  28. FEATURES:
  29. ---------
  30.  
  31.     * Gets a list of active Quake servers from the following sites:
  32.  
  33.       1. Finger Servers@ns.stomped.com
  34.       2. http://www.pipo.com/quake/quake.html
  35.       3. Finger vfuks@monmouth.com
  36.          (try Deicide's Quake Servers at http://www.monmouth.com/~vfuks)
  37.       4. User defined finger source
  38.       5. User defined http source
  39.       6. User defined http source
  40.       7. User defined http source
  41.       8. User defined http source
  42.  
  43.       Quake Spy is able to parse any finger or web page for IP addresses.
  44.       Just fill in the user defined areas and roll your own list!
  45.  
  46.     * Queries these sites for server name, map name, current and max
  47.       players.
  48.  
  49.     * Displays results in a list box in the following format:
  50.  
  51.       Average response time in ms, number of times the queries timed out,
  52.       the IP address of the server, the name of the server, the name of
  53.       the map currently being run by the server, the current number of
  54.       players on the server and the maximum allowed players on the server.
  55.  
  56.     * Launch Quake by double clicking on a server in the listbox.
  57.  
  58.           Be SURE to tell QSpy where Quake is by using the View/Options
  59.           button and selecting the Quake Page.
  60.  
  61.       (Don't do this under NT unless you have a native NT port of Quake.
  62.        Quake won't like it.)
  63.  
  64.     * Manually add and delete Quake servers to the list.
  65.  
  66.     * Save and reload the Quake server list.  This info is saved to a
  67.       file named QSpy.dat in your Quake directory.
  68.  
  69.     * Ability to copy the server list to the clipboard for further
  70.       user processing.
  71.  
  72.     * Refresh the server information of selected servers.
  73.  
  74.     * Query servers for player/rule information.  Once the server list
  75.       has been populated, you can find out who is playing on a particular
  76.       server by activating the Quake Player Spy!  This process will
  77.       requery the selected server (possibly failing the filter checks)
  78.       and then will populate the Rule List with the server parameters
  79.       that particular server is using.  Next it populates the Player List
  80.       with the players' colors, names, IP address + port, how many frags
  81.       they currently have, and how long they've been connected to the
  82.       server.  You can sort this list on any of these items by clicking
  83.       on the column header or selecting the appropriate menu item.
  84.  
  85.     * Busy Server-Redial on selected servers.  If all of your favorite
  86.       servers are full, you can highlist them and then kick off the
  87.       Busy-Redial.  Quake Spy will continuously poll these servers until
  88.       it finds one that is no longer full of players.  It will then
  89.       either notify you of this fact or will go ahead and launch Quake!
  90.  
  91.     * When Quake Spy launches Quake, it now plays what we think is an
  92.       appropriate sound clip!
  93.  
  94.     * Resize the Quake Spy window to suit your preference.
  95.  
  96.     * Dynamically resize the different list controls by dragging 
  97.       splitter bars to suit your preference.
  98.  
  99. CONFIGURABLE OPTIONS:
  100. ---------------------
  101.  
  102.     . Quake Spy either stops its operations after Quake launches or it
  103.       terminates after successfully launching Quake.
  104.  
  105.     . Whether or not to auto-save the Quake Spy server list upon leaving
  106.       Quake Spy.
  107.  
  108.     . Whether to auto-load the (saved) server list upon program startup.
  109.  
  110.     . Whether to auto-start the update process upon program startup.
  111.  
  112.     . Where to get active Quake server list information
  113.  
  114.     . There are seven filter settings you can use to limit the output of
  115.       the server information gathering process:
  116.         
  117.           1. Display servers that return the Quake query request (i.e., they
  118.          are up and answering queries).
  119.           2. Display servers that are not full of players.
  120.           3. Display servers whose query requests timed out less than
  121.              the specified amount.
  122.           4. Display servers whose average response time is less than the
  123.              specified time.
  124.           5. Display servers whose map name starts with the specified
  125.          characters (e.g., 'dm' for servers only playing deathmatch
  126.          levels).
  127.       6. Display servers who map name does not start with the specified
  128.          characters (e.g., 'e1' to filter out servers running the
  129.          shareware levels).
  130.       7. Display servers who have more than the specified number of
  131.          players connected to them.
  132.         
  133.         . The directory where Quake is located on your system.  You must
  134.       use a full drive/path specifier here (e.g., "E:\GAMES\QUAKE").
  135.  
  136.     . What command line options to pass to Quake when you launch it.
  137.       You must not include a drive/path specifier here.  That is,
  138.       don't do this "E:\GAMES\QUAKE\Q95.BAT".  Just use "Q95.BAT"
  139.       instead.
  140.         
  141.         . Include connection scripts aliases:
  142.  
  143.       . qlist: displays a list of the top 10 servers Quake Spy
  144.                    found.
  145.  
  146.       . s<#>:  connect to the specified server in the qlist alias.
  147.  
  148.     . Allow an automatic disconnect and display a top 10 list
  149.       of servers while in Quake and specify which character to
  150.       bind this to.
  151.          
  152.           Something to be aware of:  If you do this and later decide
  153.       you don't want this binding, you'll have to go and remove
  154.       the bind command from the config.cfg file in the id1
  155.       directory.  A later version of Quake Spy will do this for
  156.       you.
  157.  
  158.     . Whether you want to use multithreaded queries for the Quake Spy
  159.       server update process.  Quake Spy used to do pings/queries one
  160.       server at a time.  This routine has been revised to use
  161.       multiple threads if you so desire.  That is, Quake Spy will 
  162.       simultaneously query multiple servers thereby speeding up the
  163.       query process immensely!
  164.  
  165.           KNOWN PROBLEM:  When using multithreading, the ping times reported
  166.                           are somewhat inflated.
  167.         
  168.         . If you choose the above option, how many threads you want this
  169.       process to use.  We've tested this process with up to twenty
  170.       threads.  If you feel we should allow more than this, then pipe
  171.       up.
  172.  
  173.     . How long to wait for a response from the query for info before
  174.       the request times out.  If you are getting a lot of servers that
  175.       don't return any info, try increasing this parameter.
  176.  
  177. MISC INFO:
  178. ----------
  179.  
  180.         This release has been tested and (to the best of our knowledge) will
  181.         only work with Windows 95/NT3.51/NT4.0.
  182.  
  183.         Quake Spy makes use of MFC42.DLL and MSVCRT.DLL.  If you downloaded
  184.         the stand alone verion of Quake Spy and you do not have these files
  185.         in your SYSTEM directory, then you should get QSPYRT24.ZIP from the
  186.         same place you got this file.
  187.  
  188.         If it's not included, check ftp.cdrom.com for this file:
  189.  
  190.         /pub/idgames2/utils/network_serial/server_picker/qspy24rt.zip
  191.         
  192.         Or
  193.  
  194.         The Official Quake Spy home page:
  195.  
  196.         http://www.panix.com/~sheaslip/qspy/
  197.  
  198.         If you still can't get it, then you're SOL!  Just kidding...you can
  199.         request a copy from us, and we'll be glad to mail it to you (only do
  200.         this as a last resort though).
  201.  
  202.         We are also distributing Quake Spy in an installShield package.  If
  203.         you download this package, you don't need the support files.
  204.         Everything is included in this package.
  205.  
  206. DISTRIBUTION STATUS:
  207. --------------------
  208.  
  209.     Quake Spy is freeware...with the following provisions:
  210.  
  211.     If you use Quake Spy, send us an email.  Do you like Quake Spy?  Do
  212.     you have any suggestions on how to improve it?  We want to get a feel
  213.     for what you guys think/want.
  214.  
  215.     If you feel compelled to show us how much you appreciate Quake Spy,
  216.     we will kindly accept monetary donations of any amount ;-)
  217.  
  218. AUTHORS:
  219. --------
  220.  
  221.     Joe Powell (Team Leader), jep@sclsis.navy.mil (preferred)
  222.                 or powelljo@jaxmail.navy.mil
  223.        (10 years of C, 2 months of MFC C++ programming experience)
  224.            
  225.        The initial idea for QSpy came from me.  Tim got me started with
  226.        the network code.  Then, I took it from there and developed it
  227.        into the app we all know and love!
  228.  
  229.     Tim Cook (Network Guru), cookti@jaxmail.navy.mil.
  230.        (9 years of C, 3 years of C++ programming experience)
  231.        
  232.        Tim wrote most of the networking code in QSpy.  His latest
  233.        contribution has been the multithreaded queries!  Yea Tim!
  234.        
  235.        Tim is the C++ guru of the team. In the earlier versions of QSpy,
  236.        I'd wander over to Tim's cube every now and then asking, "Hey Tim,
  237.        how do you do this in C++?"
  238.  
  239.     Jack Mathews (MFC, UI Guru), jack@opportunist.com
  240.        (5 years of C, 1.5 years of MFC C++ programming experience)
  241.        
  242.        Jack is the newest member of the QSpy team.  His initial
  243.        contributions have been some resizing enhancements, splitter
  244.        bars between the list controls, player list (colored icons and
  245.        sorting) enhancements, and rules list implementation.
  246.        
  247.        Since neither Tim or I had ever done anything with MFC before
  248.        QSpy, we were both learning as we went along.  When Jack offered
  249.        to help us out, we jumped at the chance!
  250.         
  251. TODO
  252. ----
  253.  
  254.     RMB popup server menu (suggested).
  255.     Option to save filtered server list instead of entire list
  256.        (suggested).
  257.     Add property page setting to allow user to select sound clip.
  258.     Add Quake property page button to select Quake directory.
  259.     Query for specified player like IronMan's site used to!
  260.     Ability to send server list to printer (suggested).
  261.     Remove the disconnect key binding command from the config.cfg file
  262.        when that option is deselected or changed.
  263.     PLAY more Quake!
  264.  
  265. REVISION HISTORY
  266. ----------------
  267.  
  268. v3.02   9/9/96
  269.         Refined busy redial server (no ping, no player/rule query) (JP).
  270.         Refined player/rule update (no ping) (JP).
  271.     More informative messages displayed for failure of load/save (JM).
  272.     Fixed: QSpy crashed on LARGE (> 64K) lists (JP).
  273.     Fixed: First user defined http slot not saving properly (JP).
  274.     Fixed: Multithreading was not stopping properly (TC).
  275.  
  276.  
  277. v3.01   9/7/96
  278.     Fixed the qlist alias corruption problem (JP).
  279.     Fixed the first user defined http slot (it was still trying to
  280.        connect to IronMan's list) (JP).
  281.     Fixed killing threads before their time (JM).
  282.     Fixed case where refresh was attempted with no anchor (JM).
  283.     Fixed problem where QSpy was referring to wrong sound clip (JP).
  284.  
  285. v3.0    9/6/96
  286.  
  287.     Removed IronMan's listing from the sources property page :-( (JP).
  288.     Converted the server listbox to a listctrl (JM).
  289.     Save/restore QSpy window size/position (JM).
  290.     Added menu item to launch the Quake Spy home page! (JP).
  291.     Added menu items to launch my favorite Quake pages (JP).
  292.     Filtered out highlight characters in player names (JP).
  293.     Added the code to fill in the rules listctrl (JP).
  294.     Revamped the menu system and property sheets (JM).
  295.     Implemented the rules listctrl (JM).
  296.     Implemented multithreaded queries (TC).
  297.     Implemented sorting on different columns in the player listctrl (JM).
  298.     Added a splitter bar to dynamically resize the server and player
  299.         list controls (JM).
  300.     Now plays a sound clip while Quake is being launched (TC).
  301.     Actually PLAYED Quake instead of programmed for it!  (Hi Cain!)
  302.     Finally found the bug that was corrupting the server list
  303.        (this was causing multiple problems) (JP).
  304.     Save/Restore the column sizes in the player list ctrl (JP).
  305.     Added an option to either launch Quake or just let the user know
  306.        when a spot opens up during a queue cycle (JP).
  307.     Added a Busy Server-Redial command (suggested) (JP).
  308.     Added filter option to exclude specified map names (suggested) (JP).
  309.     Added filter option to exclude servers with less than a specified
  310.        number of players (JP).
  311.     Implemented new queries to get player information! (TC).
  312.     HEY!  We FINALLY got the Quake protocol information we wanted!
  313.     Modified IP parsing routine to look for port numbers and other
  314.        portions of the program to use this information (JP).
  315.     Rewrote the user interface: (JP)
  316.        Added a menu.
  317.        Added a toolbar menu.
  318.        Added a real status bar.
  319.     Added a button to copy server list to clipboard. (JP)
  320.     In 'qlist' alias, indicate (with an "(L)") which server was launched 
  321.     (suggested). (JP)
  322.     Modified code to allow for unlimited length server sources
  323.     (it was limited to 64K before). (TC)
  324.  
  325. v2.6    8/6/96 (JP)
  326.     Added filter option for map name.
  327.     Added option to auto-load server list upon program start.
  328.     Added option to auto-start update upon program start.
  329.     Added 3 user defined http spots and 1 user defined finger spot
  330.        to the sources property page.
  331.     Added vfuks@monmouth.com finger to Sources property page.
  332.     Added Pipo's web page to Sources property page.
  333.     Wrote a generic routine to parse out IP addresses from any page
  334.        (suggested).
  335.  
  336. v2.5    8/2/96 (JP)
  337.     Return focus to last selected item after a refresh (suggested).
  338.     Added Quake Spy option to autosave server list upon leaving QSpy.
  339.     Added Quake Spy option to ping/not ping servers after loading data.
  340.     Implemented non-blocking socket reads throughout the program.
  341.        (Press Stop immediately after starting an update and you'll
  342.         see what I mean.)
  343.     Improved display speed on delete and refresh functions.
  344.     Allowed the Quake Spy window to be resized and maximized.
  345.  
  346. v2.4    7/25/96 (JP)
  347.     Added a Quake Spy property page with an option to terminate QSpy
  348.        after launching Quake.
  349.     Rewrote the Refresh button list traversal code.
  350.     The filter options are reapplied to the list upon exiting the
  351.        property page.
  352.     Added buttons and code to save/load list of servers.
  353.     Added buttons and code to allow manual addition/deletion of servers.
  354.     Rewrote portions of code to allow easy addition/deletion of servers.
  355.     Added connection scripts option when launching Quake.
  356.     Added Quake property page options to:
  357.     Include connection scripts aliases (TC)
  358.     Allow an automatic disconnect and display a top 10 list
  359.        of servers. (TC)
  360.     Specify which character to bind the above to.
  361.  
  362. v2.3    07/20/96 (JP)
  363.     Added button to refresh (re-ping/re-query) selected servers.
  364.        (updated information is not checked against the filter criteria)
  365.     Added the ability to stop the server information retrieval process.
  366.     Added the ability to stop the server refresh process.
  367.  
  368. v2.2    07/17/96 (JP)
  369.     Added some more status messages to indicate QSpy is doing something.
  370.     Added a proper icon to the application :-)
  371.     Fixed: If the close button was pressed during the pinging process,
  372.            the application window closed, but the process continued to
  373.            run. (TC)
  374.     Fixed: The property page settings were never initialized unless the
  375.            property page was activated.
  376.  
  377. v2.1    07/15/96 (JP)
  378.     Fixed pointer bug (for real) this time (hey, it was late).
  379.     Added a property page accessed through the Configure button.
  380.     Added ][ronMan's server web page to the Sources property page.
  381.     Added Filtering options to the property page and implemented them.
  382.     Added Quake property page to allow definition of command line and
  383.        working directory.
  384.     Added ability to launch Quake by double clicking a list item.
  385.     Added a Ping property page to allow number of pings and timeout
  386.        values to be adjusted.
  387.  
  388. v2.01    07/13/96 (JP)
  389.     Fixed stupid pointer bug that happened when the process was restarted.
  390.  
  391. v2.0    07/12/96 (JP)
  392.     Converted application to a 32-bit Win95/NT application.
  393.     Filter out duplicates in the Stomped output.
  394.     Display results sorted by ping time.
  395.  
  396. v1.0    07/11/96 (JP & TC)
  397.     Initial Public Release as a Console Application.
  398.  
  399. LEGAL DISCLAIMER
  400. ----------------
  401.  
  402.     We're not responsible for anything that happens to your system while
  403.     Quake Spy is running.  Period!  Hey, what do you expect for free?
  404.